Client-server computer networks are well known. The most prominent example of a client-server computer network is the Internet. The Internet is a collection of networks that allows users at disparate, heterogeneous computer systems to communicate with each other across organizational and geographical boundaries. The exchange of information on the Internet follows the traditional network rule based on the client-server architecture.
The Internet uses a packet switched protocol referred to as the Transmission Control Protocol/Internet Protocol (TCP/IP). Full Internet access usually includes five key features; electronic mail (e-mail), logging on to Internet-connected computers using Telnet, transferring files from Internet-connected computers using File Transfer Protocol (FTP), getting access to discussion groups, and using various information-research tools, especially the World Wide Web (WWW or Web).
The present invention is particularly concerned with the World Wide Web. The World Wide Web is a hypertext-based information service that makes collections of information available across the Internet. It allows web browser clients to access information from any accessible web server and supports multiple media types. The World Wide Web can be used to invoke other software by means of embedded hypertext links. Hypertext Markup Language (HTML) is used to describe static text documents, and a web browser is essentially an HTML interpreter. A Uniform Resource Locator (URL) is basically a network location which tells the user not only where something is (its address), but also what it is. The basic form of a URL address is service://hostname/path which identifies what Internet service is needed to reach the resource, what computer it is located on, and enough detail to find what is being searched for. Embedded hypertext links on a given web page can be used to find information related to the given web page. By clicking on a hypertext link in one web page, the user can display another related web page or even invoke a related program.
By navigating through the Web, it is now possible to connect and communicate with platforms of different architectures, such as remote databases, accessible via web servers. Typically, data stored in a remote database are presented to a user connected to a web client (e.g., a web browser), through a form-based format HTML document, commonly referred to as HTML form. In the HTML form, data which is to be looked up i.e., the “dynamic data”, populates dedicated fields of the HTML form. At the client side, the HTML document is interpreted by the client web browser and a GUI (graphical user interface) presenting the data is displayed to the user.
According to a typical process, an input HTML form is used to collect data defining a request from a user connected to a web client. The request data is then supplied to a language-independent interface program in the web server, such as a CGI program (common gateway interface) or a servlet program, which interfaces a database application program that is responsible for providing the data requested. The server interface program finally produces an output HTML form containing the requested data populating the form fields, and send it to the web client.
Thus, at the server side, the data which is looked up, i.e., the “dynamic” or “useful” data is retrieved from their storage location, and then merged with the static data i.e. the “template” or “mask” data of the HTML form-based format document, finally the whole document is sent to the web client.
However, the above process presents the shortcomings that it penalizes the response time and generates internet traffic overheads, particularly, for example, in cases when only the dynamic data varys while the static data remains unchanged from one query to another; in other words, when the way of presentation of the data remains unchanged.
Still according to that typical process, when a user, at the client side, wants to make a new information query through a GUI displayed, a new request is generated through an HTML form and the whole document is sent to the web server, even if the new data requested had already been sought and obtained by the user during the same database query session. This again penalizes the response time and generates internet traffic overheads.
Furthermore, in cases when the user wants to update certain data currently displayed through the HTML form, the user typically modifies that data by changing the value of certain fields of the HTML form displayed i.e., the web page currently displayed. To validate that modification the whole HTML form is transmitted to the web server. Now, if the web page displayed was only a portion of a data record stored in the database, then, in order to modify another portion of the same data record, the user has to make a new request for downloading that portion of the same data record. This latter operation is again not effective in terms of response time and Internet traffic overheads generated. Furthermore, it is not convenient for the user.